/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package sopra09.lv6659438.logik.eintragErfassen;

import javax.interceptor.AroundInvoke;
import javax.interceptor.InvocationContext;

/**
 * Logging Interceptor für die Anwendungslogik des AWF Eintrag Erfassen
 * @author work
 */
public class EintragErfassenInterceptor {
      @AroundInvoke
    public Object logMethodEntry(InvocationContext invocationContext)
            throws Exception {

         // Loggen der übergebenen Parameter
         if(invocationContext.getMethod().getName().equalsIgnoreCase("verarbeiteEingabe") ) {
             if (invocationContext.getParameters().length == 1) {
             System.out.println("An Methode " +
                invocationContext.getMethod().getName() + " übergebene Parameter: \n" +                
                "Parameter book: " + invocationContext.getParameters()[0].toString() + ". \n"
                );
            } else if (invocationContext.getParameters().length == 3) {
             System.out.println("An Methode " +
                invocationContext.getMethod().getName() + " übergebene Parameter: \n" +
                "Parameter titel: " + invocationContext.getParameters()[0] + ". \n" +
                "Parameter volumen: " + invocationContext.getParameters()[1] + ". \n" +
                "Parameter nummer: " + invocationContext.getParameters()[2] + ". \n"
                );
            } else {
             System.out.println("An Methode " +
                  invocationContext.getMethod().getName() + " übergebene Parameter: \n" +
                  invocationContext.getParameters().length + " Parameter. Es" +
                  "sollten 1 oder 3 Parameter übergeben werden"
                  );
            }

       }
      return invocationContext.proceed();
    }
}

